Salesforce Digital Chat Administrator Setup
This guide provides step-by-step instructions for a Salesforce Administrator to configure Salesforce Digital Chat (Enhanced Chat) with NiCE CXone External Routing from scratch. Upon completion of the procedures in this guide, your organization will be able to route digital chat interactions from an Experience Cloud site through the NiCE CXone ACD to agents working in the Salesforce Omni-Channel widget.
Prerequisites
-
Salesforce Admin Access: You must have System Administrator profile access to the Salesforce org.
-
Messaging User License: At least one Messaging User license must be available in the org.
-
Enhanced Chat User License: At least one Enhanced Chat User license must be available in the org.
-
Digital Engagement Add-On: Digital Engagement must be enabled in the Salesforce org.
-
NiCE CXone Tenant: An active NiCE CXone tenant with ACD and Studio access.
Configuration Procedures
Complete the following procedures in the order presented. Each procedure builds on the configuration completed in the previous steps.
Enable Omni-Channel
Omni-Channel is the routing engine that distributes work items to agents. You must enable it before configuring any routing or messaging features.
To enable Omni-Channel:
-
Log in to Salesforce as an Administrator.
-
Navigate to Setup
. -
In the Quick Find box, enter Omni-Channel Settings and select Omni-Channel Settings.
-
Select the Enable Omni-Channel checkbox.
-
Click Save.
Enable Digital Experiences
Digital Experiences enables the creation of Experience Cloud sites, which serve as the customer-facing endpoint for chat interactions. To enable Digital Experiences:
-
In Setup, enter Digital Experiences in the Quick Find box and select Settings.
-
Select the Enable Digital Experiences checkbox.
-
Click Save.
-
Confirm the action when prompted.
Enable Messaging
The Messaging feature must be enabled before you can create messaging channels such as Enhanced Chat. To enable Messaging:
-
In Setup, enter Messaging Settings in the Quick Find box and select Messaging Settings.
-
Select the Enable Messaging checkbox.
-
Click Save.
Create an Experience Cloud Site
The Experience Cloud site is the web property where the chat widget is deployed. Customers initiate chat sessions from this site. To create an Experience Cloud site:
-
In Setup, enter All Sites in the Quick Find box and select All Sites under Digital Experiences.
-
Click New.
-
Select the Build Your Own (LWR) template.
-
Click Get Started.
-
Enter a name for the site (for example, Customer Support Chat).
-
Click Create.
-
Wait for the site creation process to complete.
Publish the Experience Cloud Site
The site must be published before the chat widget becomes functional.
The chat widget will NOT function if the Experience Cloud site is not published.
To publish the site:
-
Open the site in Experience Builder.
-
Click Publish in the upper-right corner.
-
Confirm the publish action when prompted.
Create a Routing Configuration
A routing configuration defines how work items are distributed to agents. For NiCE CXone integration, you must set the routing mode to External Routing.
To create a routing configuration:
-
In Setup, enter Routing Configurations in the Quick Find box and select Routing Configurations.
-
Click New.
-
Configure the following fields:
Field Value Routing Configuration Name Enter a descriptive name (for example, CXone External Routing). Priority 1 Routing Mode External Routing Units of Capacity 1 -
Click Save.
Create a Queue
Queues hold incoming work items until they are routed to an available agent. Each queue is associated with a routing configuration.
To create a queue:
-
In Setup, enter Queues in the Quick Find box and select Queues.
-
Click New.
-
Enter a Label for the queue (for example, Digital Chat Queue).
-
In the Routing Configuration field, select the routing configuration created in Create a Routing Configuration.
-
In the Supported Objects section, add the following objects:
-
Messaging Session
-
Case
-
-
In the Queue Members section, add the users who will handle chat interactions.
-
Click Save.
Create a Messaging Channel
The messaging channel defines the Enhanced Chat endpoint and links it to the queue for routing.
To create a messaging channel:
-
In Setup, enter Messaging Settings in the Quick Find box and select Messaging Settings.
-
Click New Channel.
-
Select Enhanced Chat as the channel type.
-
Configure the following fields:
Field Value Channel Name Enter a descriptive name (for example, Customer Chat). Deployment Type Web Domain Name Enter the Experience Cloud site URL from Create an Experience Cloud Site section -
Select Omni-Channel Queue.
-
Select Queue.
-
Click Save.
-
Accept the terms of service when prompted.
Assign User Licenses
Each user who handles chat interactions must have the required permission set licenses assigned.
To assign licenses:
-
In Setup, enter Users in the Quick Find box and select Users.
-
Click the name of the user to open the user record.
-
In the Permission Set License Assignments related list, click Edit Assignments.
-
Enable the following licenses:
-
Messaging User
-
Enhanced Chat User
-
-
Click Save.
-
Repeat steps 2–5 for each user who will handle chat interactions.
Create a Service Representative Permission Set
This permission set grants agents the object-level and app-level permissions required to handle messaging sessions.
To create the permission set:
-
In Setup, enter Permission Sets in the Quick Find box and select Permission Sets.
-
Click New.
-
Enter a Label (for example, Messaging Service Rep).
-
Leave the License field blank (do not select a license).
-
Click Save.
Configure Object and App Permissions
You must configure both object permissions and app permissions within the Service Representative permission set.
Configure Object Permissions
To configure object permissions:
-
Open the permission set created in Create a Service Representative Permission Set.
-
Click Object Settings.
-
Select Messaging Sessions and enable the following permissions:
Permission Setting Read Enabled Create Enabled Edit Enabled View All Enabled Modify All Enabled -
Click Save.
-
Return to Object Settings and select Messaging Users. Enable the following permissions:
Permission Setting Read Enabled Edit Enabled View All Enabled -
Click Save.
Configure App Permissions
To configure app permissions:
-
In the same permission set, navigate to App Permissions.
-
Enable the following app permissions:
App Permission Setting End Messaging Session Enabled Messaging Agent Enabled Agent Initiated Outbound Messaging Enabled Initiate Messaging Sessions Enabled Access Conversation Entries Enabled Run Flows Enabled Message on Mobile Enabled Send Initial SMS Message to Individual Enabled -
Click Save.
Create an Administrator Permission Set
The Administrator permission set extends the Service Representative permission set with additional configuration privileges.
To create the Administrator permission set:
-
In Setup, navigate to Permission Sets.
-
Locate the Service Representative permission set created in Create a Service Representative Permission Set.
-
Click Clone.
-
Enter a new Label (for example, Messaging Admin).
-
Click Save.
-
Open the cloned permission set and navigate to App Permissions.
-
Enable the Configure Messaging permission.
-
Click Save.
Assign Permission Sets to Users
To assign permission sets:
-
In Setup, navigate to Users.
-
Open the user record for each user who will handle or administer chat.
-
In the Permission Set Assignments related list, click Edit Assignments.
-
Add the appropriate permission set:
-
For agents: Assign the Messaging Service Rep permission set.
-
For administrators: Assign the Messaging Admin permission set.
-
-
Click Save.
Create a Presence Status
A presence status indicates an agent's availability for specific channels. You must create a presence status for the messaging channel.
To create a presence status:
-
In Setup, enter Presence Statuses in the Quick Find box and select Presence Statuses.
-
Click New.
-
Enter a Status Name (for example, Available – Messaging).
-
Set the Status Options to Online.
-
In the Service Channels section, add the Messaging channel.
-
Click Save.
Assign the Presence Status
You must assign the presence status to user profiles or permission sets so that agents can select it in the Omni-Channel widget.
-
Option A: Assign via Profile
-
In Setup, navigate to Profiles.
-
Open the relevant profile (for example, System Administrator).
-
Locate the Enabled Service Presence Status Access section and click Edit.
-
Move the Available – Messaging status to the Enabled list.
-
Click Save.
-
Option B: Assign via Permission Set
-
In Setup, navigate to Permission Sets.
-
Open the Messaging permission set (for example, Messaging Service Rep).
-
Click Service Presence Statuses Access.
-
Click Edit.
-
Move the Available – Messaging status to the Enabled list.
-
Click Save.
Create an Embedded Service Deployment
Skip this step if an Embedded Service Deployment already exists for your messaging channel. Salesforce may create one automatically during channel setup.
To create an Embedded Service Deployment:
-
In Setup, enter Embedded Service Deployments in the Quick Find box and select Embedded Service Deployments.
-
Click New Deployment.
-
Select Enhanced Chat as the deployment type.
-
Link the deployment to the messaging channel created in Create a Messaging Channel
-
Click Save.
You can deploy the chat widget using one of the following methods:
| Method | Description |
|---|---|
| Experience Builder Component | Add the Embedded Messaging component to a page in Experience Builder. |
| Code Snippet | Copy the generated code snippet and embed it in an external website's HTML. |
Configure the Messaging Service Channel
The Messaging service channel must be configured to automatically accept incoming work requests.
To configure the service channel:
-
In Setup, enter Service Channels in the Quick Find box and select Service Channels.
-
Open the Messaging service channel.
-
Select the Automatically accept work requests checkbox.
-
Click Save.
Configure Presence Settings
Presence configuration must also be set to automatically accept work requests for consistency.
To configure presence settings:
-
In Setup, enter Presence Configurations in the Quick Find box and select Presence Configurations.
-
Open the relevant presence configuration.
-
Select the Automatically accept work requests checkbox.
-
Click Save.
Configure Change Data Capture
Change Data Capture (CDC) must be enabled for messaging-related entities to support real-time data synchronization with NiCE CXone.
To configure Change Data Capture:
-
In Setup, enter Change Data Capture in the Quick Find box and select Change Data Capture.
-
In the Available Entities list, locate and move the following entities to the Selected Entities:
-
Messaging Session
-
Pending Service Routing
-
Agent Work
-
-
Click Save.
Create a Salesforce External Client App
A Salesforce External Client App is required as part of the NiCE CXone integration. This app provides the OAuth credentials used by CXone to communicate with Salesforce.
To create the External Client App:
-
From Setup, in the Quick Find box, enter App Manager, and then select App Manager.
-
Click New External Client App.
-
Enter a name for the external client app to display in the External Client App Manager.
-
Enter the API name to be used when referring to your app from a program.
This field defaults to a version of the external client app’s name with underscores in place of spaces. There are rules for API names. If the app name contains any characters forbidden by the API name rules, edit the default API name.
-
It must use only letters, numbers, and underscores.
-
It must be unique.
-
It must begin with a letter.
-
It can’t include spaces.
-
It can’t end with an underscore.
-
It can’t contain two consecutive underscores.
-
-
Enter the contact email for Salesforce to use in case we want to contact you or your support team. Salesforce uses this address to contact you or your support team. The address is not visible to administrators who install the app.
-
Determine the distribution state.
-
To develop an external client app for your local org, set the Distribution State to Local.
-
To develop an external client app for packaging and distribution, set the Distribution State to Packaged.
-
Enable an OAuth Plugin
-
Under API (Enable OAuth Settings), select the Enable OAuth check box.
-
In the Callback URL field, enter the HTTPS endpoint that Salesforce redirects the user's browser to after successful authorization.
-
The URL must use HTTPS or a custom URI scheme.
-
To specify multiple callback URLs, separate each URL with a line break.
-
The combined length of all callback URLs must not exceed 2,000 characters.[
-
-
Select the OAuth scopes to apply to the external client app.
OAuth scopes define permissions for the external client app, which are granted as tokens after the app is authorized. The OAuth token name is in parentheses.
Scope display name Token name Access the identity URL service id, profile, email, address, phone Manage user data via APIs api Full access full Units of Capacity 1 -
Add below scopes
-
Access the identity URL service (id, profile, email, address, phone)
-
Manage user data via APIs (api)
-
Full access (full)
-
Manage user data via Web browsers (web)
-
Access Connect REST API resources (chatter_api)
-
Access VisualAccess Visualforce applications (visualforce)
-
Perform requests at any time (refresh_token, offline_access)
-
Access unique user identifiers (openid)
-
Access custom permissions (custom_permissions)
-
Access the Salesforce API Platform (sfap_api)
-
-
Under Flow Enablement , Enable Client Credentials Flow
-
Under Security, Select Require secret for Web Server Flow and Require secret for Refresh Token Flow
-
Click on Create
-
After App creation, Open the App
-
Under policies tab , click on edit
-
Under OAuth Flows and External Client App Enhancements
-
Enable Client Credentials Flow and configure the existing user or create a new user profile from the user profiles
-
-
-
Save the settings
-
Under Settings tab
-
Under the OAuth settings, there is a Consumer Key and Secret option. By clicking it, you can view the newly generated Client Key and Secret values.
-
Queue-Level Bifurcation (Optional)
Complete this section only if your organization requires skill-based routing at the queue level — for example, routing chats for different product lines or languages to separate agent groups.
Routing Behavior Overview
In Salesforce Digital Chat with External Routing, the ACD Skill configuration controls routing rather than the Salesforce Queue itself.
If Queue A contains User 1 and Queue B contains User 2, but both users are assigned to the same ACD Skill, chats can be routed to either user regardless of which queue is selected in the Messaging Channel. To enforce queue-level separation, you must assign each user group to a different ACD Skill.
Configure ACD Skills and Queues
To configure queue-level bifurcation:
-
In NiCE CXone, create separate ACD Skills for each agent group (for example, Skill 1 and Skill 2).
-
Assign the appropriate users to each skill:
-
User 1 → Skill 1
-
User 2 → Skill 2
-
-
In Salesforce, create separate queues for each skill group.
-
In each queue's configuration, enter the corresponding Skill ID:
Queue Mapped Skill ID Queue 1 Skill 1 ID Queue 2 Skill 2 ID
Create Studio Scripts
Each ACD Skill requires a dedicated Studio Script to ensure correct routing.
To create Studio Scripts:
-
In NiCE CXone Studio, create a new script for each ACD Skill.
-
In each script, configure the standard IBC (Inbound Contact) routing flow:
-
Add a Begin action.
-
Add a Reqagent action.
-
Set the Target Skill to the corresponding ACD Skill.
-
-
Save and activate each script.
Configure the Point of Contact
A single Point of Contact (POC) is sufficient for queue bifurcation.
To configure the POC:
-
In NiCE CXone, open the Point of Contact configuration.
-
Set the Default Digital IB Skill to the primary skill.
-
Map the corresponding Studio Script to the POC.
-
Verify that the Salesforce Queue selected during Messaging Channel creation corresponds to the same default Skill configured in the POC.